// 媒体文件类型
export interface MediaFile {
  id: string
  name: string
  type: 'video' | 'audio'
  format: string
  size: number
  duration: number
  thumbnail?: string
  url: string
  uploadTime: string
  category: string
  tags: string[]
  description?: string
  views: number
  likes: number
  status: 'processing' | 'ready' | 'error'
}

// 分类类型
export interface Category {
  id: string
  name: string
  description?: string
  count: number
  createdAt: string
}

// 上传任务类型
export interface UploadTask {
  id: string
  file: File
  name: string
  progress: number
  status: 'waiting' | 'uploading' | 'processing' | 'completed' | 'error'
  error?: string
}

// 统计数据类型
export interface Statistics {
  totalFiles: number
  totalSize: number
  totalViews: number
  totalDuration: number
  categoryStats: Array<{
    name: string
    count: number
    size: number
  }>
  uploadTrend: Array<{
    date: string
    count: number
  }>
}

// API响应类型
export interface ApiResponse<T = any> {
  code: number
  message: string
  data: T
}

// 分页参数
export interface PaginationParams {
  page: number
  pageSize: number
  keyword?: string
  category?: string
  type?: 'video' | 'audio'
}

// 分页响应
export interface PaginationResponse<T> {
  list: T[]
  total: number
  page: number
  pageSize: number
} 